One important application for video is in security and surveillance. For some time, the common approach for building video surveillance systems is to connect analog video from multiple cameras to a device called a Matrix Switch. FIG. 1 illustrates a prior art system 100. The matrix switch 102 switches video from the multiple inputs, e.g., video cameras 104, 106, 108 and 110, to a smaller number of outputs, which are then displayed on analog video monitors 112, 114 and/or recorded with analog video tape recorders. The matrix switch 102 receives its control inputs from a dedicated keyboard 116 or through a serial cable connected to a computer system where a software program is used to support a user interface for controlling the matrix switch 102. The matrix switch 102 performs the actual switching in analog using dedicated analog video processing hardware. This hardware often includes features for automatically switching between inputs in a user defined rotation and video overlay of useful information such as names of the video sources or time and date information. There are many limitations to this approach, which is why matrix switches are rapidly being replaced by digital technology for video switching. The most significant problem is scaling the system. If a matrix switch supports 16 inputs, building a system with more than 16 video inputs is difficult. More than one switch is required and it is not possible to switch an input going to one switch to an output on a different switch. The second problem is that analog video is difficult to transmit more than a few hundred meters without specialized transmission equipment. This limits the system to a single location, which greatly limits its usefulness. Finally, control of the switch is either through a proprietary keyboard or though proprietary software run on a separate computer system. All of this makes using matrix switches to control viewing video in large scale and geographically dispersed installations impractical.
Today, video is often handled in digital form. This offers many advantages over analog video. Analog video is typically digitized and compressed by a dedicated hardware device called an encoder. The encoder generates a digital video stream that has been compressed in one of many digital video compression formats such as MPEG2, MPEG4 and MJPEG. The encoder also provides an interface to a standard data network such as Gigabit Ethernet and transmits the video using one of many standard network protocols such as TCP/IP or UDP. Other application layer protocols can be used on top of TCP such as HTTP and RTP to assist in the delivery of digital video to other devices connected to the network. There are several advantages that are gained by converting the video to digital form that can be transmitted over standard video networks. Scaling of the number of video sources is no longer an issue because an arbitrary number of sources can be handled. Standard network switches can be added for more network connections. The nature of IP switching and routing allows this scaling to work easily and smoothly. The digital data network allows the video to be transmitted over any distance. While copper Gigabit Ethernet is limited to several hundred meters, optical transmission can be used to achieve effectively unlimited distances. The data network also acts as a switching system. Digital video sources may be switched to any destination connected to the network. With IP networks, the switching is packet based, but modern IP networks are easily able to switch real-time streams of digital video between any source and any destination as long as there is no congestion encountered along the way and the needed paths through the network have sufficient bandwidth for the streams.
FIG. 2 shows a typical digital video network system 200. The network 201 is typically a local area network where Gigabit Ethernet switches are used to switch video. In such a LAN environment, congestion and bandwidth of the links is typically not an issue. But the network may also be a wide area network, such as the Internet. Analog video from cameras 202, 204, and 206, is digitized and encoded by hardware encoders 208, 210, and 212 connected to the network 201. Digital video from the encoders can be streamed to any destination on the network. To display a video source, a workstation e.g., 214 or 216 establishes a network connection to a source and then decodes the digital video before displaying it on a standard computer monitor. Software on the workstation can support receiving and displaying more than one video source at a time, so that several video windows can be decoded and displayed at once. This software can also allow a human operator at the workstation the ability to dynamically choose which of many digital video sources to connect to and display.
Server computers 218, 220 may also connect to the network 201 both to receive and transmit digital video. These servers can provide other functions including recording the video to disk storage, playing back recorded video and replicating video streams so that a single video stream can be received by multiple client workstations or servers without the need for multicast transmission from the source. The combination of the digital video encoders, network and client workstations provide a much more flexible and scalable video switching and display system. For this reason, systems that use this approach are sometimes referred to as “virtual matrix switching” systems.
While the networked digital video system provides many advantages over the previous analog system, it still has a number of major limitations. Because of the completely distributed nature of the architecture, there is no centralized way to control the display of the video on the client workstations. While this is not a problem when there are a small number of workstations, each staffed by an individual capable of manually controlling the workstation, it becomes a huge problem when attempting to construct a command center where many video feeds must be displayed and controlled simultaneously for a team of people. There is also no way for a user at one workstation to control video displayed on another workstation. This is a critical feature for a large-scale digital video security system where an operator at a single workstation viewing a video feed needs to be able to instantly alert multiple decision makers at many locations of an incident that they need to see on their workstations. Finally, there is nothing in this architecture that can automatically deal with the failure of the different components. While IP networks tend to “self heal” in response to failures of network components and paths, the failure of digital video sources, client workstations and servers must be handled manually. Clustering software can provide automatic failover of servers to backup machines, but there will be a service interruption during this failover period.
In view of the foregoing, it would be desirable to provide an improved technique for distributing video data.